package pacote;

import java.util.Iterator;
import java.util.LinkedList;

public class Conjunto {

	private LinkedList<Bloco> blocos;
	private int limite; //limite de blocos no conjunto
	private final int indice;
	
	public Conjunto(int numBlocos, int indice){
		blocos = new LinkedList<Bloco>();
		limite = numBlocos;
		this.indice = indice;
	}
	
	public void colocarBloco(Bloco bloco){
		if(!blocos.isEmpty()&&blocos.size()==limite){
			Bloco primeirobloco = blocos.removeFirst();
			if(primeirobloco.isSujo()){
				Contabilidade.incrementarTempo(Contabilidade.getTempoMP());
			}
		}
		
		blocos.addLast(bloco);
	}
	
	public boolean contem(long endbloco){
		Iterator<Bloco> iterator = blocos.iterator();
		while(iterator.hasNext()){
			Bloco bloco = iterator.next();
			if(bloco.getEndBloco() == (endbloco)){
				return true;
			}
//			if(bloco.getNumero()==endereco){
//				return true;
//			}
		}
		
		return false;
	}

	public LinkedList<Bloco> getBlocos() {
		return blocos;
	}

	public void setBlocos(LinkedList<Bloco> blocos) {
		this.blocos = blocos;
	}

	public int getLimite() {
		return limite;
	}

	public void setLimite(int limite) {
		this.limite = limite;
	}

	public int getIndice() {
		return indice;
	}
	
	
}
